ZABBIX: сделаем жизнь красивее

PHP
Здравствуйте, с недавнего времени в нашей конторе внедряется система мониторинга ZABBIX. Всем она хороша да прекрасна (споры можно везти долго на эту тему), только вот нас никак не устраивало две вещи:
1. Хотелось, чтобы на странице «Последние данные» каждый элемент данных подсвечивался бы цветом в зависимости от статуса триггера. Это очень наглядно.
2. На графиках вертикальная ось по умолчанию отображает только цифры (это конечно логично), но не очень удобно, когда смотришь, к примеру, пинг узла… Можно еще привыкнуть к нулям и единицам там, но вот значения в виде 0.1, 0.2, 0.3… совсем выглядят дико. Поэтому мы и задались целью сделать так, чтобы лишние значения не отображались, а нужные показывались, к примеру, «Доступен» или «Не доступен».

Как у нас это получилось смотреть под хабракатом.

Читать дальше →

Android. Работа с прогресс диалогами

У начинающих работать с андроидом возникают вопросы по поводу создания прогресс диалогов. Моя заметка возможно поможет им.

Создать и запустить диалог можно несколькими способами, но всех их объединяет одно: все изменения видимой части пользовательского интерфейса после создания Activity должны происходить в специальном потоке. Многие об этом забывают и потом удивляются, почему не происходит видимых изменений. Простейший вариант это вызов следующей конструкции:

вашаАктивити.runOnUiThread(new Runnable() {

@Override
 public void run() {
 // Изменение видимой части
 }
 });


или для View:

вашеВию.post(new Runnable() {

@Override
 public void run() {
 // Изменение видимой части
 }
 });


Ваши команды на изменение ставятся в очередь и в определенный момент вызываются Activity. Преимущество есть, хотя на первый взгляд не очевидно. Программа перестает тормозить при каждом изменении интерфейса, все перерисовки проходят как бы фоново, программа не подвисает при исполнении каких то вычислительных задач связанных одновременно с рассчетами/загрузкой и с отображение хода процесса. С другой стороны это немного усложняет код.


Читать дальше →